# 第一阶段：使用 Node.js 镜像进行构建
FROM node:20 AS build

RUN npm config set registry https://registry.npmmirror.com/

# 设置工作目录
WORKDIR /app

# 复制项目文件到工作目录
COPY / ./web

# 进入项目目录，安装依赖并构建项目
RUN cd web && npm install && npm run build

# 第二阶段：使用 Nginx 镜像
FROM nginx:latest

# 删除 Nginx 容器中代码目录中自带的文件
RUN rm -rf /usr/share/nginx/html/*

# 将第一阶段构建的文件复制到 Nginx 容器中
COPY --from=build /app/web/dist /usr/share/nginx/html

# 暴露 80 端口供外部访问
EXPOSE 81

# 容器启动时运行 Nginx
CMD ["nginx", "-g", "daemon off;"]
